package br.com.divulgaqui.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.com.divulgaqui.client.EJBclientFactory;
import br.com.divulgaqui.client.PessoaServiceBeanLocal;
import br.com.divulgaqui.entity.Pessoa;
import br.com.divulgaqui.service.PessoaServiceBean;

@FacesConverter(value = "pessoaConverter")
public class PessoaConverter implements Converter{
	
	PessoaServiceBeanLocal pessoaServiceBeanLocal;
	
	public PessoaConverter() {
		pessoaServiceBeanLocal = (PessoaServiceBeanLocal)EJBclientFactory.getEjbFromContext(PessoaServiceBean.class, PessoaServiceBeanLocal.class);
	}
	

	@Override
	public Object getAsObject(FacesContext context, UIComponent ui, String valor) {	
		if (valor == null || valor.equals("")) {
			return valor;
		}
		
		return pessoaServiceBeanLocal.getPessoaByPkFetchTelefonesAndEnderecosAndPerfil(Long.valueOf(valor));
	}

	@Override
	public String getAsString(FacesContext context, UIComponent ui, Object valor) {
		if (valor == null || valor.equals("")){
			return "";
		}
		Pessoa pessoa = (Pessoa) valor;
		if (pessoa.getId() == null || pessoa.getId() == 0) {
			return "";
		}
		return String.valueOf(pessoa.getId());
	}

}
